package com.cz.video.common.vod.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

@Data
@Primary
@Component
@ConfigurationProperties(prefix = "vod")
public class VodProperties {

    /**
     * 默认存储平台
     */
    private String defaultPlatform ;

    /**
     * 阿里云 VodProvider
     */
    private List<AliyunVodProperties> aliyunVod = new ArrayList<>();


    /**
     * 阿里云 VodProvider
     */
    @Data
    public static class AliyunVodProperties {
        private String accessKey;
        private String secretKey;

        /**
         * 启用视频点播
         */
        private Boolean enableVod = false;
        /**
         * 存储平台
         */
        private String platform = "";

        /**
         * 申请STS所用的endpoint
         */
        private String stsEndpoint="";

        /**
         * 区域 如：cn-shanghai
         */
        private String regionId;

        /**
         * 播放授权 超时时间 (单位秒，取值范围：[100,3000])
         */
        private Long playAuthTimeOut;

        /**
         * 申请STS所用的访问key
         */
        private String stsAccessKey;

        /**
         * 申请STS所用的访问密钥
         */
        private String stsAccessSecret;

        /**
         * 角色Arn
         */
        private String arn="";

        /**
         * 启用STS
         */
        private Boolean enableSts=false;

        /**
         * 回调地址
         */
        private String callbackUrl;

        /**
         * sts持续时间
         */
        private long stsDuration=3600;


        /**
         * 是否开启回调鉴权
         */
        private Boolean enableCallBackAuthentication=false;

        /**
         * 回调鉴权密钥
         */
        private String authKey;
    }

}
